package com.app.lzbank.entity;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class PreOrderBankRequest {
    @ApiModelProperty("产品id")
    @JSONField(name = "_product_id")
    private String productId;

    @ApiModelProperty("服务id")
    @JSONField(name = "_service_id")
    private String serviceId;

    @ApiModelProperty("前端时间")
    @JSONField(name = "trandatetime")
    private String tranDateTime;

    @ApiModelProperty("请求流水号")
    @JSONField(name = "reqsn")
    private String reqSn;

    @ApiModelProperty("商户号")
    @JSONField(name = "partner")
    private String partner;

    @ApiModelProperty("商户订单号")
    @JSONField(name = "out_trade_no")
    private String outTradeNo;

    @ApiModelProperty("商品价格")
    @JSONField(name = "product_fee")
    private BigDecimal productFee;

    @ApiModelProperty("物流费用")
    @JSONField(name = "transport_fee")
    private BigDecimal transportFee;

    @ApiModelProperty("付款金额")
    @JSONField(name = "total_fee")
    private BigDecimal totalFee;

    @ApiModelProperty("订单描述")
    @JSONField(name = "body")
    private String body;

    @ApiModelProperty("商品展示地址")
    @JSONField(name = "show_url")
    private String showUrl;

    @ApiModelProperty("收货地址")
    @JSONField(name = "deliveryaddr")
    private String deliveryAddr;

    @ApiModelProperty("支付渠道")
    @JSONField(name = "trans_channel")
    private String transChannel;

    @ApiModelProperty("同步通知url")
    @JSONField(name = "return_url")
    private String returnUrl;

    @ApiModelProperty("异步通知url")
    @JSONField(name = "notify_url")
    private String notifyUrl;

    @ApiModelProperty("订单开始时间")
    @JSONField(name = "time_start")
    private String timeStart;

    @ApiModelProperty("订单结束时间")
    @JSONField(name = "time_expire")
    private String timeExpire;

    @ApiModelProperty("请求类型")
    @JSONField(name = "pay_type")
    private String payType;

    @ApiModelProperty("交易类型")
    @JSONField(name = "biz_type")
    private String bizType;

    @ApiModelProperty("终端号")
    @JSONField(name = "terminalNo")
    private String terminalNo;

    @ApiModelProperty("签名")
    @JSONField(name = "sign")
    private String sign;

    @ApiModelProperty("交易模式")
    @JSONField(name = "trade_mode")
    private String tradeMode;

    @ApiModelProperty("客户端IP地址")
    @JSONField(name = "spbill_create_ip")
    private String spbillCreateIp;

    @ApiModelProperty("服务版本号")
    @JSONField(name = "service_version")
    private String serviceVersion;

    @ApiModelProperty("服务名")
    @JSONField(name = "service")
    private String service;

    @ApiModelProperty("字符集")
    @JSONField(name = "input_charset")
    private String inputCharset;

    @ApiModelProperty("币种")
    @JSONField(name = "fee_type")
    private String feeType;

    @ApiModelProperty("订单名称")
    @JSONField(name = "subject")
    private String subject;

    @ApiModelProperty("二级商户号")
    @JSONField(name = "subpartner")
    private String subPartner;

    @ApiModelProperty("总笔数")
    @JSONField(name = "batch_num")
    private Integer batchNum;

    @ApiModelProperty("交易明细")
    @JSONField(name = "trade_details")
    private String tradeDetails;

    @ApiModelProperty("受理终端实时经纬度信息")
    @JSONField(name = "Geoghcoodte")
    private String geoghcoodte;

    @ApiModelProperty("终端入网认证编号")
    @JSONField(name = "VrfyRcrdNo")
    private String vrfyRcrdNo;

    @ApiModelProperty("商户端设备类型")
    @JSONField(name = "EqmtTp")
    private String eqmtTp;

    @ApiModelProperty("终端序列号")
    @JSONField(name = "TxnTmlNo")
    private String txnTmlNo;

    @ApiModelProperty("应用程序版本号")
    @JSONField(name = "TermlIntfVer")
    private String termlIntfVer;

    @ApiModelProperty("客户端MAC地址")
    @JSONField(name = "MAC")
    private String mac;

    @ApiModelProperty("商户端设备IP")
    @JSONField(name = "TmlIP")
    private String tmlIp;

    @ApiModelProperty("终端位置国家编码")
    @JSONField(name = "CtyCd")
    private String ctyCd;

    @ApiModelProperty("终端位置地区编码")
    @JSONField(name = "RgonCd")
    private String rgonCd;

    @ApiModelProperty("收银台域ID")
    @JSONField(name = "AppSpaceId")
    private String appSpaceId;

    @ApiModelProperty("收银台域对应的用户ID")
    @JSONField(name = "AppUserId")
    private String appUserId;

    @ApiModelProperty("APP类型")
    @JSONField(name = "AppType")
    private String appType;
}